var mongodb = require('./db');

function fresher(stu) {
	this.name = stu.name;
	this.stuNum = stu.stuNum;
	this.stuQnumber = stu.stuQnumber;
	this.stuPhone = stu.stuPhone;
	this.stuMajor = stu.stuMajor;
	this.stuTeam = stu.stuTeam;
}

module.exports = fresher;

//存储报名信息
fresher.prototype.save = function(callback) {
	//要存入数据库的用户文档
    var stu = {
        name: this.name,
        stuNum: this.stuNum,
        stuQnumber: this.stuQnumber,
        stuPhone: this.stuPhone,
        stuMajor: this.stuMajor,
        stuTeam: this.stuTeam
    };
    //打开数据库
    mongodb.open(function (err,db) {
        if(err) {
            return callback(err); //错误，返回err信息
        }
        //读取fresher集合
        db.collection('fresher',function (err, collection) {
            if(err) {
                mongodb.close();
                return callback(err); //错误，返回err信息
            }
            //将用户数据插入prezhaoXin集合
            collection.insert(stu,{
                safe: true
            },function (err, stu) {
                mongodb.close();
                if (err) {
                    return callback(err); //错误，返回err信息
                }
                callback(null); //成功！
            });
        });
    });
};

//读取报名信息,通过stuNum保没有重复报名
fresher.get = function(stuNum, callback) {
    mongodb.open(function (err, db) {
        if(err) {
            return callback(err); //错误，返回err信息
        }
        db.collection('fresher', function (err, collection){
            if(err) {
                mongodb.close();
                return callback(err); //错误，返回err信息
            }
            //根据query对象查询文章
            collection.findOne({
                stuNum: stuNum
            },function(err, stu){
                mongodb.close();
                if(err){
                    return callback(err);//失败，返回err
                }
                callback(null, stu);//成功！以数组形式返回查询结果
            });
        });
    });
};

//读取全部报名信息
//读取所有文章及其相关信息
fresher.getAll = function (name, callback) {
    //打开数据库
    mongodb.open(function (err, db) {
        if(err){
            return callback(err);
        }
        //读取fresher集合
        db.collection('fresher',function(err, collection){
            if(err){
                mongodb.close();
                return callback(err);
            }
            var query = {};
            if (name){
                query.name = name;
            }
            //根据query对象查询文章
            collection.find(query).sort({
                stuNum: -1
            }).toArray(function(err, docs){
                mongodb.close();
                if(err){
                    return callback(err);//失败，返回err
                }
                callback(null, docs);//成功！以数组形式返回查询结果
            });
        });
    });
};